// https://leetcode.cn/problems/sum-of-two-integers/submissions/673078276/
// class Solution {
// public:
//     int getSum(int a, int b) {
//         //^的结果是无进位相加
//         //，所以^结果只需要加上进位，然后进位怎么算，如果两个比特位都为1就说要进位，也就是说如果有一个比特为0进位的结果就不为1，这就是&操作，由于进位是向前进的所以要左移1位

//         while (true) {
//             int m = a ^ b;
//             int n = (a & b) << 1;
//             a = m;
//             b = n;
//             if (n == 0) {
//                 return a + b;
//             }
//         }
//     }
// };